In a NAND type flash memory, generally, an error for stored data is corrected. Recently, a error probability for stored data is increased, accompanied by a miniaturization or a super value multiplexing of a NAND type flash memory.
If the error probability accompanied by the miniaturization and the super value multiplexing of a NAND type flash memory is increased, an amount of parity data required for maintaining validity of data after correcting the error is also increased. This means that memory capacity for storing the parity data is increased, which causes the increase of the cost. Alternatively, in order to suppress the increase of the cost, if the error correcting capability is left unchanged while not increasing the amount of parity data, all errors of stored data are not corrected, which increases probability of the error remaining.